package com.terrace.db.system.mapper.entity;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.terrace.core.utils.validation.annotation.FieldValid;

/**
 * 日志信息
 * 
 * @author jiangyg
 *
 */
public class Log implements Serializable {

	private static final long serialVersionUID = -2561923516062880634L;

	/**
	 * 主键
	 */
	private Integer id;

	/**
	 * 用户ID
	 */
	private String userId;

	/**
	 * 日志描述
	 */
	private String logDepict;

	/**
	 * 操作类型
	 */
	private String operateType;

	/**
	 * 浏览器
	 */
	private String operateBroswer;

	/**
	 * 操作IP
	 */
	private String operateIp;

	/**
	 * 操作时间
	 */
	private Date operateTime;
	
	/**
	 * 开始操作时间--用于查询
	 */
	private Date startOperateTime;
	
	/**
	 * 结束操作时间--用于查询
	 */
	private Date endOperateTime;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getLogDepict() {
		return logDepict;
	}

	public void setLogDepict(String logDepict) {
		this.logDepict = logDepict;
	}

	@FieldValid(depict = "操作类型", nullable = false, length = 4)
	public String getOperateType() {
		return operateType;
	}

	public void setOperateType(String operateType) {
		this.operateType = operateType;
	}

	public String getOperateBroswer() {
		return operateBroswer;
	}

	public void setOperateBroswer(String operateBroswer) {
		this.operateBroswer = operateBroswer;
	}

	public String getOperateIp() {
		return operateIp;
	}

	public void setOperateIp(String operateIp) {
		this.operateIp = operateIp;
	}

	public Date getOperateTime() {
		return operateTime;
	}

	public void setOperateTime(Date operateTime) {
		this.operateTime = operateTime;
	}

	@JsonIgnore
	public Date getStartOperateTime() {
		return startOperateTime;
	}

	public void setStartOperateTime(Date startOperateTime) {
		this.startOperateTime = startOperateTime;
	}

	@JsonIgnore
	public Date getEndOperateTime() {
		return endOperateTime;
	}

	public void setEndOperateTime(Date endOperateTime) {
		this.endOperateTime = endOperateTime;
	}
	
}